The present invention relates to tape positioning in the context of tape drive systems. The invention has particular applicability to streaming tape drive systems using a magnetic tape medium, while providing for other applications.
Streaming tape drive systems are designed for the rapid storage and retrieval of bulk data in conjunction with a host computer. Typically, data is stored in the form of a series of blocks of magnetic flux activity on a magnetic tape medium, the blocks being spaced by inter-block gaps with nominally no magnetic flux activity. In streaming mode, the blocks can be written or read, seriatim, without stopping or reversing the transfer of tape across read/write heads.
There are several situations in which it is required to interrupt the streaming. If, during a read operation, the buffer interface to a host computer becomes full, the read process must be stopped until the buffer can accept more data. If, during a write operation, the buffer becomes empty, reasonable utilization of the tape medium requires that the tape be stopped until the buffer can supply data at a reasonable rate. Also, errors in reading or writing a block can make a re-try necessary.
Generally, after streaming is interrupted, the tape must be repositioned. This repositioning normally requires backward motion of the tape. This is clear when a block containing an error must be reread or rewritten. However, even when all previous blocks have been successfully written or read, backwards motion may be required since, while a streaming tape drive is ramping down to a stop, the next block to be read, or the next region to be erased and written over may have crossed the read and write heads.
Repositioning can be effected by a drive controller which instructs a drive mechanism to stop a forward moving tape, move the tape in a backward direction, and stop the backward motion at a point appropriate for the next forward operation. In determining an appropriate stopping point, the need for ramping the streaming tape drive up to operational speed and then detecting the gap-to-block boundary of the block of interest must be taken into account.
For this repositioning to be effected with any precision, a position indicator can be used. A position indicator can include a bidirectional counter which counts tallies generated by a tape speed sensor. The speed sensor can include a barrel which frictionally engages a tape as it is being transferred across the heads. By way of example, the sensor can have an optically marked element which rotates with the barrel. As the element rotates, the marks can be detected by a sensor and the detections counted by the position indicator. Normally, the counting takes into account the direction of tape transfer, e.g., counting up during forward motion and counting down during rearward motion.
As an illustrative operation, a start-stop read procedure involves reading a block and detecting its rear boundary, which takes the form of a block-to-gap transition. The value of the position indicator at this detection is then stored; this step is referred to as a position capture.
The system can then ramp down to a stop. The position indicator should then indicate a value greater than the stored boundary position value. Rearward motion is begun and continued until the position indicated is sufficiently less than the stored position value that a forward tape speed sufficient for reading can be achieved within the gap following the block just read. Thus, the system is ready to read the next block. This repositioning with respect to the rear boundary of a block to prepare for an operation concerning the following block is referred to as a "hitch" operation.
Another repositioning operation, referred to as a "backspace" operation, is used generally to reread or rewrite a block. Such a retry is generally in response to an error detection. In this case, the rear boundary capture for the previous block can be used as a position reference.
Errors in repositioning can cause the tape drive system to confuse one block for another, seriously impairing performance. Furthermore, repositioning errors impair the system's ability to handle noise in the form of flux activity within gaps and dropouts within blocks, which can impair the determination of whether a block or gap is present.
A major source of such errors is tape slippage relative to the barrel of the speed sensor. Such slippage is most prone to occur during acceleration and acceleration of the tape, and thus especially during reversals of tape direction. Slippage errors are cumulative since the last boundary capture, so that repositioning errors are more likely for complex repositioning procedures.
Another source of error is differential tape stretch, which is routinely caused by tape tension variations as a function of tape direction. Differential tape stretch can cause the segment of tape corresponding to a block of data, or other information unit to have a different length during rearward motion than it does during forward motion. The magnitude of the differential can correlate with the length of segment under consideration.
The effect of position indicator errors is to limit the accuracy of repositionings. To the extent that the errors are systematic, they can be compensated for in advance, for example, by adjusting the calculated value of the point at which repositioning is to be completed. Random errors can be minimized and/or accommodated by design tolerances.
In practice, most repositioning errors are accommodated by specified minimum interblock gap lengths. In other words, a standardized streaming tape drive format such as group code recorded format includes in its specifications a minimum interblock gap length of 0.28". This figure can be used in designing the tolerances of a tape drive system that uses this format.
While the standard minimum interblock gaps ar sufficiently large to accommodate an acceptable percentage of random positioning errors due to isolated tape reversals, the accumulation of errors imposes severe design constraints. For example, in order to minimize the sources of errors, slower speeds and more gentle starts and stops can be used, thereby compromising performance.
In addition, or in the alternative, accumulated errors can be accommodated by increasing the mechanical precision of the tape drive system. However, increases in mechanical precision are expensive. Costs tend to rise geometrically in relation to the precision required. Reliability is also adversely affected by the increased vulnerability of high-precision mechanics to misalignment due to physical shock and temperature variations.
What is needed is a tape drive system and method providing for more accurate repositioning. Procedures involving multiple tape direction reversals need to be handled without requiring concomitant increases in mechanical precision. Errors due to differential tape stretch should also be accommodated effectively. In addition, these errors should be accommodated in such a way as to enhance the ability to distinguish noise from data.